<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    //reduce 方法， 数组的求和方法

    let arr =[2,3,4,5]

    //语法一：有初始值-------------------------------
    // let res1 =arr.reduce((总和，当前元素) =>{
    //   return 累加的式子
    // },初始值)


    let res1 =arr.reduce((sum,item)=>{
      //有初始值 第一次循环sum=100 item = 数组第一个元素
      //第一次循环：sum=100；item=2 返回 100+2=102
      //第二次循环：sum=102；item=3 返回 102+3=105
      //第三次循环：sum=105；item=4 返回 105+4=109
      //第四次循环：sum=109；item=5 返回 109+5=114
      return sum+item
    },100)
    console.log(res1)
    //语法二：没有初始值----------------------------
    // let res2 =arr.reduce((总和，当前元素) =>{
    //   return 累加的式子
    // })
    
    let res2 =arr.reduce((sum,item)=>{
      //没有初始值，第一次循环sum=数组第一个元素 item=数组第二个元素
      //第一次循环：sum=2；item=3 返回 2+3=5
      //第二次循环：sum=5；item=4 返回 5+3=4=9
      //第三次循环：sum=9；item=5 返回 9+5=14
      return sum+item
    })
    console.log(res2)

    //-------------------实例--------------------------
    let list =[
      {id:21,subject:'语文',score:90},
      {id:32,subject:'数学',score:100},
      {id:35,subject:'艺术',score:100},
    ]

    let res =list.reduce((t,c)=>{
      return t+c.score
    },0)
    console.log(res)
  </script>
</body>
</html>